﻿#define _CRT_SECURE_NO_WARNINGS
//#include<iostream>
//using namespace std;
//
//
//class Time
//{
//public:
//	Time(int hour)
//		:_hour(hour)
//	{
//		cout << "Time()" << endl;
//	}
//private:
//	int _hour;
//};
//
//
//class Date
//{
//public:
//	Date(int& x, int year = 1, int month = 1, int day = 1)
//		:_day(day)
//		, _month(month)
//		, _t(12)
//		//必须在初始化列表里初始化
//		, _ref(x)
//		, _n(1)
//	{
//		_year = year;
//		// error C2512: “Time”: 没有合适的默认构造函数可⽤ 
//		// error C2530 : “Date::_ref” : 必须初始化引⽤ 
//		// error C2789 : “Date::_n” : 必须初始化常量限定类型的对象 
//	}
//
//private:
//	//声明
//	int _year = 2000;//缺省值
//	int _month;
//	int _day;
//	Time _t; // 没有默认构造 
//	int& _ref; // 引⽤ 
//	const int _n;
//};
//
//int main()
//{
//	int xx = 0;
//	//对象整体定义
//	Date d1(xx, 2025, 4, 29);
//	xx++;
//	return 0;
//}




#include<iostream>
using namespace std;
//int _scount = 0;
class A
{
public:
	A()
	{
		++_scount;
	}
	A(const A& t)
	{
		++_scount;
	}
	int GetCpunt()
	{
		return _scount;
	}
	static int GetCount()
	{
		return _scount;
	}
private:
	//不属于某个对象。属于整个类，这个类的所有对象
	//声明
	static int _scount ;
};

//定义初始化
int A::_scount = 0;


int main()
{
	A aa1;
	A aa2(aa1);
	//A aa3 = 10;

	//cout << A::_scount << endl;//指定类域访，要访问的变量在static里，所以无法直接用类域访问
	//cout << aa1.GetCpunt() << endl;//对象访问
	return 0;
}